package face.pay.entity;

import lombok.Data;

/**
 * @Classname CpnCardInfo
 * @Description JJL
 * @Date 2019/12/2 13:23
 */
@Data
public class CpnCardInfo {

    private Integer id;

    private Integer oemId;

    private Integer userId;

    /**
     * 子商户id
     */
    private Integer merchant_id;

    /**
     * 活动id
     */
    private Integer activityId;

    /**
     * 卡卷id 每一种卡券id相同
     */
    private String card_id;

    /**
     * 优惠券类型。CASH:代金券  DISCOUNT:折扣券
     */
    private String card_type;

    /**
     *"CODE_TYPE_TEXT"文 本
     * "CODE_TYPE_BARCODE"一维码
     * "CODE_TYPE_QRCODE"二维码
     * "CODE_TYPE_ONLY_QRCODE",二维码无code显示
     * "CODE_TYPE_ONLY_BARCODE",一维码无code显示
     * CODE_TYPE_NONE， 不显示code和条形码类型
     */
    private String code_type;

    /**
     * 卡券名，字数上限为9个汉字。(建议涵盖卡券属性、服务及金额)。
     */
    private String title;

    /**
     * 券颜色
     */
    private String color;

    /**
     * 卡券使用提醒，字数上限为16个汉字。
     */
    private String notice;

    /**
     * 卡券库存的数量,上限为100000000。
     */
    private Integer quantity;

    /**
     使用时间的类型
     DATE_TYPE_FIX TIME_RANGE  表示固定日期区间与 cpn_activity_info的开始时间与结束时间对应
     DATE_TYPE FIX_TERM 表示固定时长 自领取后按天算 统一过期时间与cpn_activity_info的结束时间对应
     */
    private String type;

    /**
     * type为DATE_TYPE_FIX_TERM时专用，表示自领取后多少天内有效，不支持填写0。
     */
    private Integer fixed_term;

    /**
     * type为DATE_TYPE_FIX_TERM时专用，表示自领取后多少天开始生效，领取后当天生效填写0。（单位为天）
     */
    private Integer fixed_begin_term;

    /**
     * 每人可领券的数量限制,不填写默认为50。
     */
    private Integer get_limit;

    /**
     * 每人可使用的数量限制,不填写默认为50。
     */
    private Integer use_limit;

    /**
     * 指定可用的商品类目，填入后将在券面拼写适用于xxx
     */
    private String accept_category;

    /**
     * 指定不可用的商品类目, 填入后将在券面拼写不适用于xxxx
     */
    private String reject_category;

    /**
     * 封面摘要简介。 微信需要的key为 —— abstract
     */
    private String conver_text;

    /**
     * 封面图片，仅支持填入一 个封面图片链接，调用微信接口上传
     */
    private String icon_url_list;

    /**
     * 图文描述
     */
    private String text;

    /**
     * 图文描述 图片链接，必须调用微信接口上传
     */
    private String image_url;

    /**
     * 折扣券专用，表示打折额度（百分比）。填30就是七折。
     */
    private Double discount;

    /**
     * 代金券专用，表示起用金额（单位为分）,如果无起用门槛则填0。
     */
    private Integer least_cost;

    /**
     * 代金券专用，表示减免金额。（单位为分）
     */
    private Integer reduce_cost;

    /**
     * 0 未激活 1 上线 -1 下线
     */
    private Integer state;

    private String createdTime;

    private Integer createdBy;

    private String updatedTime;

    private Integer updatedBy;

    /**
     * 非表字段
     */
    private Double service_fee;//服务费


    @Override
    public String toString() {
        return "CpnCardInfo{" +
                "id=" + id +
                ", oemId=" + oemId +
                ", userId=" + userId +
                ", merchant_id='" + merchant_id + '\'' +
                ", activityId=" + activityId +
                ", card_id=" + card_id +
                ", card_type='" + card_type + '\'' +
                ", code_type='" + code_type + '\'' +
                ", title='" + title + '\'' +
                ", color='" + color + '\'' +
                ", notice='" + notice + '\'' +
                ", quantity=" + quantity +
                ", type='" + type + '\'' +
                ", fixed_term=" + fixed_term +
                ", fixed_begin_term=" + fixed_begin_term +
                ", get_limit=" + get_limit +
                ", use_limit=" + use_limit +
                ", accept_category='" + accept_category + '\'' +
                ", reject_category='" + reject_category + '\'' +
                ", conver_text='" + conver_text + '\'' +
                ", icon_url_list='" + icon_url_list + '\'' +
                ", text='" + text + '\'' +
                ", image_url='" + image_url + '\'' +
                ", discount=" + discount +
                ", least_cost=" + least_cost +
                ", reduce_cost=" + reduce_cost +
                ", createdTime='" + createdTime + '\'' +
                ", createdBy=" + createdBy +
                ", updatedTime='" + updatedTime + '\'' +
                ", updatedBy=" + updatedBy +
                ", service_fee=" + service_fee +
                '}';
    }
}
